home *** CD-ROM | disk | FTP | other *** search
/ 3D Games - Real-time Rend…ng & Software Technology / 3D Games - Real-time Rendering & Software Technology.iso / flysdk / plugin / volfog / volfog.h < prev   
Encoding:
C/C++ Source or Header  |  2000-02-15  |  1.2 KB  |  61 lines

  1. enum classes_types
  2. {
  3.     TYPE_FOGSPHERE=0x140,
  4.     TYPE_FOGBOX,
  5. };
  6.  
  7. class fogsphere : public bsp_object
  8. {
  9. public:
  10.     fogsphere() { type=TYPE_FOGSPHERE; };
  11.     float fogradius;
  12.     float fogrange;
  13.     float fogdepth;
  14.     vector fogcolor;
  15.     int fogmode;
  16.  
  17.     void fog_map(light_map *fm);
  18.     int fog_intersect(vector& point,unsigned char& factor);
  19.     int step(int dt);
  20.     int get_custom_param_desc(int i,param_desc *pd);
  21.     bsp_object *clone();
  22. };
  23.  
  24. class fogbox : public bsp_object
  25. {
  26. public:
  27.     fogbox() { type=TYPE_FOGBOX; };
  28.     float fogsizex;
  29.     float fogsizey;
  30.     float fogsizez;
  31.     float fogrange;
  32.     float fogdepth;
  33.     vector fogcolor;
  34.     int fogmode;
  35.     boundbox bb;
  36.     float bbdiag;
  37.  
  38.     void fog_map(light_map *fm);
  39.     int fog_intersect(vector& point,unsigned char& factor);
  40.     int step(int dt);
  41.     int get_custom_param_desc(int i,param_desc *pd);
  42.     bsp_object *clone();
  43. };
  44.  
  45. class fogsphere_desc : public class_desc
  46. {
  47. public:
  48.     void *create() { return new fogsphere; };
  49.     char *get_name() { return "fogsphere"; };
  50.     int get_type() { return TYPE_FOGSPHERE; };
  51. };
  52.  
  53. class fogbox_desc : public class_desc
  54. {
  55. public:
  56.     void *create() { return new fogbox; };
  57.     char *get_name() { return "fogbox"; };
  58.     int get_type() { return TYPE_FOGBOX; };
  59. };
  60.  
  61.